home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / snmp / mib2c-data / generic-table-indexes-set.m2i < prev    next >
Text File  |  2008-09-22  |  4KB  |  124 lines

  1. #############################################################  -*- c -*-
  2. ## generic include for XXX. Do not use directly.
  3. ##
  4. ## $Id: generic-table-indexes-set.m2i 14170 2006-01-26 17:02:48Z dts12 $
  5. ########################################################################
  6. @if $m2c_mark_boundary == 1@
  7. /** START code generated by $RCSfile$ $Revision: 14170 $ */
  8. @end@
  9. ########################################################################
  10. ##
  11. @eval $gtis_tmp=""@
  12. @foreach $node index@
  13. @   include m2c_setup_node.m2i@
  14. @   eval $gtis_tmp="$gtis_tmp, $m2c_node_param_val"@
  15. @end@ # for each index
  16. ########################################################################
  17. ##//####################################################################
  18. ##//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  19. ##//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  20. @if $m2c_processing_type eq 'h'@
  21.  
  22. int ${context}_indexes_set_tbl_idx(${context}_mib_index *tbl_idx$gtis_tmp);
  23. int ${context}_indexes_set(${context}_rowreq_ctx *rowreq_ctx$gtis_tmp);
  24.  
  25. @end@ // m2c_processing_type eq 'h'
  26. ########################################################################
  27. ##//####################################################################
  28. ##//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  29. ##//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  30. @if $m2c_processing_type eq 'c'@
  31. /**
  32.  * set mib index(es)
  33.  *
  34.  * @param tbl_idx mib index structure
  35. @foreach $node index@
  36. @  if $node.needlength == 1@
  37.  * @param ${node}_ptr
  38.  * @param ${node}_ptr_len
  39. @else@
  40.  * @param ${node}_val
  41. @end@
  42. @end@
  43.  *
  44.  * @retval MFD_SUCCESS     : success.
  45.  * @retval MFD_ERROR       : other error.
  46.  *
  47.  * @remark
  48.  *  This convenience function is useful for setting all the MIB index
  49.  *  components with a single function call. It is assume that the C values
  50.  *  have already been mapped from their native/rawformat to the MIB format.
  51.  */
  52. int
  53. ${context}_indexes_set_tbl_idx(${context}_mib_index *tbl_idx$gtis_tmp)
  54. {
  55.     DEBUGMSGTL(("verbose:${context}:${context}_indexes_set_tbl_idx","called\n"));
  56.  
  57. @foreach $node index@
  58. @   include m2c_setup_node.m2i@
  59. ## table indexes are not allocated pointers, so do not allow realloc here
  60. @eval $m2c_node_realloc = 0@ // fail
  61.     /* $m2c_node_summary */
  62. @   eval $m2c_ctx_lh = "tbl_idx->$node"@
  63. @   eval $m2c_ctx_lhs = "tbl_idx->${node}_len"@
  64. @   eval $m2c_ctx_lhu="elements"@
  65. @   eval $m2c_ctx_rh = "$m2c_node_param_val_name"@
  66. @   eval $m2c_ctx_rhs = "$m2c_node_param_val_lname"@
  67. @   eval $m2c_ctx_rhu="elements"@
  68. @   if $m2c_node_needlength == 1@
  69.     $m2c_ctx_lhs = sizeof($m2c_ctx_lh)/sizeof($m2c_ctx_lh[0]); /* max length */
  70. @   end@
  71. ## also, assume mapping already done
  72. @   include generic-ctx-get.m2i@
  73. ##@   include generic-value-map.m2i@
  74.     
  75. @end@ // for each column
  76.  
  77.     return MFD_SUCCESS;
  78. } /* ${context}_indexes_set_tbl_idx */
  79.  
  80. /**
  81.  * @internal
  82.  * set row context indexes
  83.  *
  84.  * @param reqreq_ctx the row context that needs updated indexes
  85.  *
  86.  * @retval MFD_SUCCESS     : success.
  87.  * @retval MFD_ERROR       : other error.
  88.  *
  89.  * @remark
  90.  *  This function sets the mib indexs, then updates the oid indexs
  91.  *  from the mib index.
  92.  */
  93. int
  94. ${context}_indexes_set(${context}_rowreq_ctx *rowreq_ctx$gtis_tmp)
  95. {
  96.     DEBUGMSGTL(("verbose:${context}:${context}_indexes_set","called\n"));
  97.  
  98.     if(MFD_SUCCESS != ${context}_indexes_set_tbl_idx(&rowreq_ctx->tbl_idx
  99. @foreach $node index@
  100. @   include m2c_setup_node.m2i@
  101.                                    , $m2c_node_param_val_call
  102. @end@ # for each index
  103.            ))
  104.         return MFD_ERROR;
  105.  
  106.     /*
  107.      * convert mib index to oid index
  108.      */
  109.     rowreq_ctx->oid_idx.len = sizeof(rowreq_ctx->oid_tmp) / sizeof(oid);
  110.     if(0 != ${context}_index_to_oid(&rowreq_ctx->oid_idx,
  111.                                     &rowreq_ctx->tbl_idx)) {
  112.         return MFD_ERROR;
  113.     }
  114.  
  115.     return MFD_SUCCESS;
  116. } /* ${context}_indexes_set */
  117.  
  118. @end@ // m2c_processing_type eq 'c'
  119. ##
  120. ########################################################################
  121. @if $m2c_mark_boundary == 1@
  122. /** END code generated by $RCSfile$ $Revision: 14170 $ */
  123. @end@
  124.